package com.ysd.lis.entity.bac;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ysd.lis.entity.BaseEntityJpa;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * <p>
 *
 * </p>
 *
 * @author cfz
 * @since 2024-03-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "BAC_DRUG_RESULT", autoResultMap = true)
@Entity
@Table(name = "BAC_DRUG_RESULT")
public class BacDrugTestResult extends BaseEntityJpa {

    private static final long serialVersionUID = 1L;

    /**
     * 检验日期
     */
    @TableField("SAMPLEDA")
    @Column(name = "SAMPLEDA")
    private Timestamp sampleda;

    /**
     * 报告单元
     */
    @TableField("RPT_GROUP")
    @Column(name = "RPT_GROUP")
    private String rptGroup;

    /**
     * 标本号
     */
    @TableField("SAMPLE_NO")
    @Column(name = "SAMPLE_NO")
    private String sampleNo;


    @TableField("TEST_FLOW_NO")
    @Column(name = "TEST_FLOW_NO")
    private String testFlowNo;

    @TableField("TEST_NODE_NO")
    @Column(name = "TEST_NODE_NO")
    private String testNodeNo;

    @TableField("ISOLATE_NUM")
    @Column(name = "ISOLATE_NUM")
    private String isolateNum;

    @TableField("DRUG_MTH_NO")
    @Column(name = "DRUG_MTH_NO")
    private String drugMthNo;

    @TableField("SENSITIVE_NO")
    @Column(name = "SENSITIVE_NO")
    private String sensitiveNo;

    /**
     * 敏感性来源
     */
    @TableField("SENSITIVE_FROM")
    @Column(name = "SENSITIVE_FROM")
    private String sensitiveFrom;

    /**
     * 抗生素编号
     */
    @TableField("ANT_NO")
    @Column(name = "ANT_NO")
    private String antNo;

    /**
     * 抗生素名称
     */
    @TableField("ANT_NA")
    @Column(name = "ANT_NA")
    private String antNa;


    /**
     * 药敏测试方法名
     */
    @TableField(exist = false)
    @Transient
    private String drugTestMethNa;

    /**
     * 抗生素推荐分组主键
     */
    @TableField("ANT_RECOM_GROUP_ID")
    @Column(name = "ANT_RECOM_GROUP_ID")
    private String antRecomGroupId;

    /**
     * 检测结果
     */
    @TableField("TEST_RESULT")
    @Column(name = "TEST_RESULT")
    private String testResult;

    /**
     * 折点
     */
    @TableField("BREAK_POINT")
    @Column(name = "BREAK_POINT")
    private String breakPoint;


    /**
     * 敏感性
     */
    @TableField(exist = false)
    @Transient
    private String interpNa;

    /**
     * 敏感性显示颜色
     */
    @TableField(exist = false)
    @Transient
    private String interpDisplayColor;

    /**
     * 显示顺序
     */
    @TableField("SEQ")
    @Column(name = "SEQ")
    private String seq;

    /**
     * 是否报告 0否 1是
     */
    @TableField("IS_REPORT")
    @Column(name = "IS_REPORT")
    private Integer isReport;

    /**
     * 是否天然耐药 0否 1是
     */
    @TableField("IS_NATURL_RESIS")
    @Column(name = "IS_NATURL_RESIS")
    private Integer isNaturlResis;

    /**
     * 折点主键
     */
    @TableField("BREAK_POINT_ID")
    @Column(name = "BREAK_POINT_ID")
    private String breakPointId;

    /**
     * 指南
     */
    @TableField("GUIDELINE")
    @Column(name = "GUIDELINE")
    private String guideline;

    /**
     * 年
     */
    @TableField("YEAR")
    @Column(name = "YEAR")
    private String year;

    /**
     * 微生物代码类型
     */
    @TableField("GERM_CODE_TYPE")
    @Column(name = "GERM_CODE_TYPE")
    private String germCodeType;

    /**
     * 微生物代码
     */
    @TableField("GERM_NO")
    @Column(name = "GERM_NO")
    private String germNo;

    /**
     * 折点类型
     */
    @TableField("BREAK_POINT_TYPE")
    @Column(name = "BREAK_POINT_TYPE")
    private String breakPointType;

    /**
     * 宿主
     */
    @TableField("HOST")
    @Column(name = "HOST")
    private String host;

    /**
     * WHONET检测
     */
    @TableField("WHONET_TEST")
    @Column(name = "WHONET_TEST")
    private String whonetTest;

    /**
     * 效价
     */
    @TableField("POTENCY")
    @Column(name = "POTENCY")
    private String potency;

    /**
     * 感染部位
     */
    @TableField("INFE_SITE")
    @Column(name = "INFE_SITE")
    private String infeSite;

    /**
     * 耐药
     */
    @TableField("R")
    @Column(name = "R")
    private BigDecimal r;

    /**
     * 中介
     */
    @TableField("I")
    @Column(name = "I")
    private String i;

    /**
     * 剂量依赖型敏感
     */
    @TableField("SDD")
    @Column(name = "SDD")
    private String sdd;

    /**
     * 敏感
     */
    @TableField("S")
    @Column(name = "S")
    private BigDecimal s;

    /**
     * 流行病学界值
     */
    @TableField("ECOFF")
    @Column(name = "ECOFF")
    private BigDecimal ecoff;

    /**
     * 折点范围
     */
    @TableField("BREAK_POINT_REF")
    @Column(name = "BREAK_POINT_REF")
    private String breakPointRef;

    /**
     * 参考表
     */
    @TableField("REF_TABLE")
    @Column(name = "REF_TABLE")
    private String refTable;

    /**
     * 参考表序号
     */
    @TableField("REF_TABLE_SEQ")
    @Column(name = "REF_TABLE_SEQ")
    private String refTableSeq;

    /**
     * 检测项目编号
     */
    @TableField("ITEM_NO")
    @Column(name = "ITEM_NO")
    private String itemDictNo;

    /**
     * 备注1
     */
    @TableField("REMARK1")
    @Column(name = "REMARK1")
    private String remark1;

    /**
     * 备注2
     */
    @TableField("REMARK2")
    @Column(name = "REMARK2")
    private String remark2;

    /**
     * 备注3
     */
    @TableField("REMARK3")
    @Column(name = "REMARK3")
    private String remark3;

    /**
     * 备注4
     */
    @TableField("REMARK4")
    @Column(name = "REMARK4")
    private String remark4;

    /**
     * 数据来源  1 仪器上传    2  手工添加  3 开始仪器上传 后来手工修改
     */
    @TableField("DATA_FROM")
    @Column(name = "DATA_FROM")
    private String dataFrom;

    /**
     * 是否同步结果 0否 1是
     */
    @TableField("IS_SYNC_RESULT")
    @Column(name = "IS_SYNC_RESULT")
    private Integer isSyncResult;

    /**
     * 仪器结果id
     */
    @TableField("INT_RESULT_ID")
    @Column(name = "INT_RESULT_ID")
    private String intResultId;

    @TableField(exist = false)
    @Transient
    private String germNa;

    @TableField(exist = false)
    @Transient
    private String sampleTypeName;

    /**
     * 效价
     */
    @TableField(exist = false)
    @Transient
    private String verificationPrice;

    /**
     * 是否危急值 0是1否
     */
    @TableField(exist = false)
    @Transient
    private Boolean isAlarm;

    /**
     * 危急值信息
     */
    @TableField(exist = false)
    @Transient
    private String alarmText;


    @TableField(exist = false)
    @Transient
    private String sampleType;

    @TableField(exist = false)
    @Transient
    private String patNo;

    /**
     */
    @TableField("IS_BP_FROM_INSTR")
    @Column(name = "IS_BP_FROM_INSTR")
    private Integer isBpFromInstr;

    /**
     * 血清型
     */
    @TableField("SEROVAR_GROUP")
    @Column(name = "SEROVAR_GROUP")
    private String serovarGroup;

    /**
     * 细菌代码
     */
    @TableField("WHONET_ORG_CODE")
    @Column(name = "WHONET_ORG_CODE")
    private String whonetOrgCode;

    /**
     * 种
     */
    @TableField("SPECIES_GROUP")
    @Column(name = "SPECIES_GROUP")
    private String speciesGroup;

    /**
     * 属
     */
    @TableField("GENUS_CODE")
    @Column(name = "GENUS_CODE")
    private String genusCode;

    /**
     * 属分组
     */
    @TableField("GENUS_GROUP")
    @Column(name = "GENUS_GROUP")
    private String genusGroup;

    /**
     * 科
     */
    @TableField("FAMILY_CODE")
    @Column(name = "FAMILY_CODE")
    private String familyCode;

    /**
     * 厌氧类型
     */
    @TableField("ANAEROBE")
    @Column(name = "ANAEROBE")
    private String anaerobe;
    /**
     * 亚界
     */
    @TableField("SUBKINGDOM_CODE")
    @Column(name = "SUBKINGDOM_CODE")
    private String subkingdomCode;

    /**
     * 仪器编号
     */
    @Column(name = "INSTR_CODE")
    @TableField("INSTR_CODE")
    private String instrCode;

    /**
     * 仪器组编号
     */
    @Column(name = "GERM_MACHINE_NO")
    @TableField("GERM_MACHINE_NO")
    private String germMachineNo;

    /**
     * 仪器敏感代码
     */
    @Column(name = "INTERPRETAION_NO")
    @TableField("INTERPRETAION_NO")
    private String interpretaionNo;
}
